Systems and methods for price searching and customer self-checkout using a mobile device

ABSTRACT

Price searching and customer self-checkout on a mobile device is provided. A system for purchasing products comprises at least one subsystem that receives from a mobile device at least price and seller identification data of a product, (at least the price of said product having been electronically read by the mobile device), and at least one subsystem that charges a user for the product based upon the received price and identification data.

CROSS REFERENCE TO RELATED APPLICATIONS

The present patent application is a continuation of U.S. patentapplication Ser. No. 12/042,668, filed Mar. 5, 2008, and is related insubject matter in the following commonly assigned application Ser. No.12,042,653, filed Mar. 5, 2008, now U.S. Pat. No. 7,593,873; and Ser.No. 12/042,665, filed Mar. 5, 2008, now U.S. Pat. No. 7,680,702.

BACKGROUND

Long checkout lines have always been a problem for both customers andretailers on busy shopping days. Stores would like to provide bettercustomer service for their patrons and customers value their time andmay avoid shopping during busy periods or may have to limit their timeshopping due to the delays. This also results in reduced revenues forthe retail establishments. Currently, there are in place systems forself-checkout in many establishments, but these systems are oftencumbersome for the customer and are usually slower on a per transactionbasis than traditional check-out lines with an experienced cashier. Inthese systems, the customer must still take all their items and scanthem individually at the checkout stand, and also make the paymenttransaction at the checkout stand. This often causes a backup at thecheckout while people wait to scan and pay for their items, and thus maycause long lines to form resulting in needless delay.

In this regard, there is a need for price searching and customerself-checkout on a mobile device that provides more efficient way forcustomers to purchase products.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In consideration of the above-identified shortcomings of the art, pricesearching and customer self-checkout on a mobile device is provided. Forseveral embodiments, a system for purchasing products comprises at leastone subsystem that receives from a mobile device at least price andseller identification data of a product, (at least the price of saidproduct having been electronically read by the mobile device), and atleast one subsystem that charges a user for the product based upon thereceived price and identification data.

Other advantages and features of the invention are described below.

BRIEF DESCRIPTION OF THE DRAWINGS

Price searching and customer self-checkout on a mobile device is furtherdescribed with reference to the accompanying drawings in which:

FIG. 1 is a block diagram representing an exemplary computing devicesuitable for use in conjunction with implementing price searching andcustomer self-checkout on a mobile device;

FIG. 2 illustrates an exemplary networked computing environment in whichmany computerized processes may be implemented to perform pricesearching and customer self-checkout on a mobile device.

FIG. 3 is a flow chart illustrating an example process according toprice searching on a mobile device;

FIG. 4 diagram illustrating scanner suitable for a mobile device and thescanner operably coupled to the mobile device;

FIG. 5 is a diagram illustrating an example system according to pricesearching on a mobile device;

FIG. 6 is a block diagram illustrating an example pricesearch/comparison engine according to the price search/comparison engineof FIG. 5;

FIG. 7 is a diagram illustrating an alternative embodiment of an examplesystem according to price searching;

FIG. 8 is a flow chart illustrating an example process according tocustomer self-checkout using a mobile device;

FIG. 9 is a flow chart illustrating an example process according toprice searching and customer self-checkout using a mobile device; and

FIG. 10 is a diagram illustrating an example system according to pricesearching and customer self-checkout using a mobile device.

DETAILED DESCRIPTION

Certain specific details are set forth in the following description andfigures to provide a thorough understanding of various embodiments ofthe invention. Certain well-known details often associated withcomputing and software technology are not set forth in the followingdisclosure to avoid unnecessarily obscuring the various embodiments ofthe invention. Further, those of ordinary skill in the relevant art willunderstand that they can practice other embodiments of the inventionwithout one or more of the details described below. Finally, whilevarious methods are described with reference to steps and sequences inthe following disclosure, the description as such is for providing aclear implementation of embodiments of the invention, and the steps andsequences of steps should not be taken as required to practice thisinvention.

Referring next to FIG. 1, shown is a block diagram representing anexemplary computing device suitable for use in conjunction withimplementing the processes described above. For example, the computerexecutable instructions that carry out the processes and methods forprice searching and customer self-checkout on a mobile device may resideand/or be executed in such a computing environment as shown in FIG. 1.The computing system environment 220 is only one example of a suitablecomputing environment and is not intended to suggest any limitation asto the scope of use or functionality of the invention. Neither shouldthe computing environment 220 be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment 220. For example a computer gameconsole or mobile computing device may also include those items such asthose described below for use in conjunction with implementing theprocesses described above.

Aspects of the invention are operational with numerous other generalpurpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that may be suitable for use with the inventioninclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, multiprocessor systems,microprocessor-based systems, set top boxes, programmable consumerelectronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include any of the above systemsor devices, and the like.

Aspects of the invention may be implemented in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Aspects ofthe invention may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices.

An exemplary system for implementing aspects of the invention includes ageneral purpose computing device in the form of a computer 241.Components of computer 241 may include, but are not limited to, aprocessing unit 259, a system memory 222, and a system bus 221 thatcouples various system components including the system memory to theprocessing unit 259. The system bus 221 may be any of several types ofbus structures including a memory bus or memory controller, a peripheralbus, and a local bus using any of a variety of bus architectures. By wayof example, and not limitation, such architectures include IndustryStandard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus,Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA)local bus, and Peripheral Component Interconnect (PCI) bus also known asMezzanine bus.

Computer 241 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 241 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media includes both volatileand nonvolatile, removable and non-removable media implemented in anymethod or technology for storage of information such as computerreadable instructions, data structures, program modules or other data.Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can accessed by computer 241. Communication media typicallyembodies computer readable instructions, data structures, programmodules or other data in a modulated data signal such as a carrier waveor other transport mechanism and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of the any of the aboveshould also be included within the scope of computer readable media.

The system memory 222 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 223and random access memory (RAM) 260. A basic input/output system 224(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 241, such as during start-up, istypically stored in ROM 223. RAM 260 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 259. By way of example, and notlimitation, FIG. 1 illustrates operating system 225, applicationprograms 226, other program modules 227, and program data 228.

The computer 241 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 238 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 239that reads from or writes to a removable, nonvolatile magnetic disk 254,and an optical disk drive 240 that reads from or writes to a removable,nonvolatile optical disk 253 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 238 is typically connectedto the system bus 221 through an non-removable memory interface such asinterface 234, and magnetic disk drive 239 and optical disk drive 240are typically connected to the system bus 221 by a removable memoryinterface, such as interface 235.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 1, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 241. In FIG. 1, for example, hard disk drive 238 is illustratedas storing operating system 258, application programs 257, other programmodules 256, and program data 255. Note that these components can eitherbe the same as or different from operating system 225, applicationprograms 226, other program modules 227, and program data 228. Operatingsystem 258, application programs 257, other program modules 256, andprogram data 255 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation into the computer 241 through input devices such as akeyboard 251 and pointing device 252, commonly referred to as a mouse,trackball or touch pad. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit259 through a user input interface 236 that is coupled to the systembus, but may be connected by other interface and bus structures, such asa parallel port, game port or a universal serial bus (USB). A monitor242 or other type of display device is also connected to the system bus221 via an interface, such as a video interface 232. In addition to themonitor, computers may also include other peripheral output devices suchas speakers 244 and printer 243, which may be connected through a outputperipheral interface 233.

The computer 241 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer246. The remote computer 246 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 241, although only a memory storage device 247 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 245 and a wide area network (WAN)249, but may also include other networks. Such networking environmentsare commonplace in offices, enterprise-wide computer networks, intranetsand the Internet.

When used in a LAN networking environment, the computer 241 is connectedto the LAN 245 through a network interface or adapter 237. When used ina WAN networking environment, the computer 241 typically includes amodem 250 or other means for establishing communications over the WAN249, such as the Internet. The modem 250, which may be internal orexternal, may be connected to the system bus 221 via the user inputinterface 236, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 241, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 1 illustrates remoteapplication programs 248 as residing on memory device 247. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

It should be understood that the various techniques described herein maybe implemented in connection with hardware or software or, whereappropriate, with a combination of both. Thus, the methods and apparatusof the invention, or certain aspects or portions thereof, may take theform of program code (i.e., instructions) embodied in tangible media,such as floppy diskettes, CD-ROMs, hard drives, or any othermachine-readable storage medium wherein, when the program code is loadedinto and executed by a machine, such as a computer, the machine becomesan apparatus for practicing the invention. In the case of program codeexecution on programmable computers, the computing device generallyincludes a processor, a storage medium readable by the processor(including volatile and non-volatile memory and/or storage elements), atleast one input device, and at least one output device. One or moreprograms that may implement or utilize the processes described inconnection with the invention, e.g., through the use of an API, reusablecontrols, or the like. Such programs are preferably implemented in ahigh level procedural or object oriented programming language tocommunicate with a computer system. However, the program(s) can beimplemented in assembly or machine language, if desired. In any case,the language may be a compiled or interpreted language, and combinedwith hardware implementations.

Although exemplary embodiments may refer to utilizing aspects of theinvention in the context of one or more stand-alone computer systems,the invention is not so limited, but rather may be implemented inconnection with any computing environment, such as a network ordistributed computing environment. Still further, aspects of theinvention may be implemented in or across a plurality of processingchips or devices, and storage may similarly be effected across aplurality of devices. Such devices might include personal computers,network servers, handheld devices, supercomputers, or computersintegrated into other systems such as automobiles and airplanes.

Referring next to FIG. 2, shown is an exemplary networked computingenvironment in which many computerized processes may be implemented toperform the processes described above. For example, parallel computingmay be part of such a networked environment with various clients on thenetwork of FIG. 2 using and/or implementing price searching and customerself-checkout on a mobile device. One of ordinary skill in the art canappreciate that networks can connect any computer or other client orserver device, or in a distributed computing environment. In thisregard, any computer system or environment having any number ofprocessing, memory, or storage units, and any number of applications andprocesses occurring simultaneously is considered suitable for use inconnection with the systems and methods provided.

Distributed computing provides sharing of computer resources andservices by exchange between computing devices and systems. Theseresources and services include the exchange of information, cachestorage and disk storage for files. Distributed computing takesadvantage of network connectivity, allowing clients to leverage theircollective power to benefit the entire enterprise. In this regard, avariety of devices may have applications, objects or resources that mayimplicate the processes described herein.

FIG. 2 provides a schematic diagram of an exemplary networked ordistributed computing environment. The environment comprises computingdevices 271, 272, 276, and 277 as well as objects 273, 274, and 275, anddatabase 278. Each of these entities 271, 272, 273, 274, 275, 276, 277and 278 may comprise or make use of programs, methods, data stores,programmable logic, etc. The entities 271, 272, 273, 274, 275, 276, 277and 278 may span portions of the same or different devices such as PDAs,audio/video devices, MP3 players, personal computers, etc. Each entity271, 272, 273, 274, 275, 276, 277 and 278 can communicate with anotherentity 271, 272, 273, 274, 275, 276, 277 and 278 by way of thecommunications network 270. In this regard, any entity may beresponsible for the maintenance and updating of a database 278 or otherstorage element.

This network 270 may itself comprise other computing entities thatprovide services to the system of FIG. 2, and may itself representmultiple interconnected networks. In accordance with an aspect of theinvention, each entity 271, 272, 273, 274, 275, 276, 277 and 278 maycontain discrete functional program modules that might make use of anAPI, or other object, software, firmware and/or hardware, to requestservices of one or more of the other entities 271, 272, 273, 274, 275,276, 277 and 278.

It can also be appreciated that an object, such as 275, may be hosted onanother computing device 276. Thus, although the physical environmentdepicted may show the connected devices as computers, such illustrationis merely exemplary and the physical environment may alternatively bedepicted or described comprising various digital devices such as PDAs,televisions, MP3 players, etc., software objects such as interfaces, COMobjects and the like.

There are a variety of systems, components, and network configurationsthat support distributed computing environments. For example, computingsystems may be connected together by wired or wireless systems, by localnetworks or widely distributed networks. Currently, many networks arecoupled to the Internet, which provides an infrastructure for widelydistributed computing and encompasses many different networks. Any suchinfrastructures, whether coupled to the Internet or not, may be used inconjunction with the systems and methods provided.

A network infrastructure may enable a host of network topologies such asclient/server, peer-to-peer, or hybrid architectures. The “client” is amember of a class or group that uses the services of another class orgroup to which it is not related. In computing, a client is a process,i.e., roughly a set of instructions or tasks, that requests a serviceprovided by another program. The client process utilizes the requestedservice without having to “know” any working details about the otherprogram or the service itself. In a client/server architecture,particularly a networked system, a client is usually a computer thataccesses shared network resources provided by another computer, e.g., aserver. In the example of FIG. 2, any entity 271, 272, 273, 274, 275,276, 277 and 278 can be considered a client, a server, or both,depending on the circumstances.

A server is typically, though not necessarily, a remote computer systemaccessible over a remote or local network, such as the Internet. Theclient process may be active in a first computer system, and the serverprocess may be active in a second computer system, communicating withone another over a communications medium, thus providing distributedfunctionality and allowing multiple clients to take advantage of theinformation-gathering capabilities of the server. Any software objectsmay be distributed across multiple computing devices or objects.

Client(s) and server(s) communicate with one another utilizing thefunctionality provided by protocol layer(s). For example, HyperTextTransfer Protocol (HTTP) is a common protocol that is used inconjunction with the World Wide Web (WWW), or “the Web.” Typically, acomputer network address such as an Internet Protocol (IP) address orother reference such as a Universal Resource Locator (URL) can be usedto identify the server or client computers to each other. The networkaddress can be referred to as a URL address. Communication can beprovided over a communications medium, e.g., client(s) and server(s) maybe coupled to one another via TCP/IP connection(s) for high-capacitycommunication.

In light of the diverse computing environments that may be builtaccording to the general framework provided in FIG. 2 and the furtherdiversification that can occur in computing in a network environmentsuch as that of FIG. 2, the systems and methods provided herein cannotbe construed as limited in any way to a particular computingarchitecture. Instead, the invention should not be limited to any singleembodiment, but rather should be construed in breadth and scope inaccordance with the appended claims.

Referring next to FIG. 3, shown is a flow chart illustrating an exampleprocess according to price searching and customer self-checkout on amobile device. The user of a mobile device may scan 301 the tag attachedto or associated with a product in a retail establishment. This may beaccomplished in a variety of ways using any number of different scanningtechnologies currently known to those of ordinary skill in the suchareas of technology. For example, the price tag of a product may includea barcode that may contain such information as price, serial number andother product identification information. A barcode is amachine-readable representation of information (usually dark ink on alight background to create high and low reflectance which is convertedto 1s and 0s). Originally, barcodes stored data in the widths andspacings of printed parallel lines, but now they also come in patternsof dots, concentric circles, and text codes hidden within images.Barcodes can be read by optical scanners called barcode readers orscanned from an image by special software. Barcodes are widely used toimplement Auto ID Data Capture (AIDC) systems that improve the speed andaccuracy of computer data entry. An advantage over other methods of AIDCis that it is less expensive to implement. The best-known and mostwidespread use of barcodes has been on consumer products using theUniversal Product Code (UPC) symbol.

Also, the user of a mobile device may scan 301 the tag attached to orassociated with a product in a retail establishment usingRadio-frequency identification (RFID) technologies. RFID is an automaticidentification method, relying on storing and remotely retrieving datausing devices called RFID tags or transponders. An RFID tag is an objectthat can be applied to or incorporated into a product, animal, or personfor the purpose of identification using radio waves. Some tags can beread from several meters away and beyond the line of sight of thereader. Most RFID tags contain at least two parts. One is an integratedcircuit for storing and processing information, modulating anddemodulating a (RF) signal and can also be used for other specializedfunctions. The second is an antenna for receiving and transmitting thesignal. A technology called chipless RFID allows for discreteidentification of tags without an integrated circuit, thereby allowingtags to be printed directly onto assets at lower cost than traditionaltags.

Once the price tag of the item is scanned 301, the price and otherproduct identifying information is retrieved 303 from the scanned databy decoding functionality within the mobile device if need be. Thisprice and other product identification information is then compared toprice data resident on the mobile device itself and/or then transmitted305 wirelessly, for example, to a product price search/comparisonengine. The product price search/comparison engine then searches 307 forsame or similar items for sale on the Internet in an automated fashionand possibly published prices at physical stores using the datatransmitted from the mobile device. The search results and purchasingoptions are transmitted 309 back to the user's wireless device. However,in addition to or as an alternative to displaying the purchase optionson the mobile device, the purchase option may be communicated to anddisplayed on a variety of different locations and devices including, butnot limited to: the same or another user's home computer via email, webposting or other electronic messaging service, another cellular ormobile computing device of the same or another user, a computing deviceof another retailer or vendor, or a printer. At this point, the user maydetermine 311 whether to purchase item immediately at the store wherethe item was scanned or purchase at lower price on the internet or otherlocation. Also, the user may set a variety of different options to beperformed automatically based upon the search results. For example, theuser may wish to have a purchase placed automatically if the same itemis found at a less expensive price elsewhere. This automatic purchasemay be communicated wirelessly through the mobile device to the vendorselling the item or to the vendor's web site for automatic orderplacement.

Referring next to FIG. 4, shown is diagram illustrating a scannersuitable for a mobile device and the scanner operably coupled to themobile device. Shown is a barcode scanner 401 and a mobile communicationand computing device 403 and the combination of the scanner 401 operablycoupled to the mobile device 403, hereafter referred to as the mobilescanner 405. The barcode reader 401 (or barcode scanner 401) on themobile scanner 405 is an electronic device for reading printed barcodes.Like a flatbed scanner, it consists of a light source, a lens and aphoto conductor translating optical impulses into electrical ones.Additionally, nearly all barcode readers contain decoder circuitryanalyzing the barcode's image data provided by the photo conductor andsending the barcode's content to the scanner's output port. Examples ofreader types are described below:

Pen Type Readers

Pen type readers consist of a light source and a photodiode that areplaced next to each other in the tip of a pen or wand. To read a barcode, the tip of the pen moves across the bars in a steady motion. Thephotodiode measures the intensity of the light reflected back from thelight source and generates a waveform that is used to measure the widthsof the bars and spaces in the bar code. Dark bars in the bar code absorblight and white spaces reflect light so that the voltage waveformgenerated by the photo diode is a representation of the bar and spacepattern in the bar code. This waveform is decoded by the scanner in amanner similar to the way Morse code dots and dashes are decoded.

Laser Scanners

Laser scanners work the same way as pen type readers except that theyuse a laser beam as the light source and typically employ either areciprocating mirror or a rotating prism to scan the laser beam back andforth across the bar code. As with the pen type reader, a photodiode isused to measure the intensity of the light reflected back from the barcode. In both pen readers and laser scanners, the light emitted by thereader is tuned to a specific frequency and the photodiode is designedto detect only this modulated light of the same frequency.

CCD Readers

CCD readers (also referred to as LED scanner) use an array of hundredsof tiny light sensors lined up in a row in the head of the reader. Eachsensor can be thought of as a single photodiode that measures theintensity of the light immediately in front of it. Each individual lightsensor in the CCD reader is extremely small and because there arehundreds of sensors lined up in a row, a voltage pattern identical tothe pattern in a bar code is generated in the reader by sequentiallymeasuring the voltages across each sensor in the row. The importantdifference between a CCD reader and a pen or laser scanner is that theCCD reader is measuring emitted ambient light from the bar code whereaspen or laser scanners are measuring reflected light of a specificfrequency originating from the scanner itself.

Camera-Based Readers

2D imaging scanners are the fourth and newest type of bar code readercurrently available. They use a small video camera to capture an imageof a bar code. The reader then uses sophisticated digital imageprocessing techniques to decode the bar code. Video cameras use the sameCCD technology as in a CCD bar code reader except that instead of havinga single row of sensors, a video camera has hundreds of rows of sensorsarranged in a two dimensional array so that they can generate an image.

The particular scanner 402 shown in FIG. 4 as an example is theCompactFlash® Scan Card (CFSC) 5E available from Dell (One Dell WayRound Rock, Tex. 78682). It is a Series 5 Entry Level scanner that addsbar code scanning to a Pocket PC® or Palm® device. Based on miniaturelinear complementary metal-oxide-semiconductor (CMOS) imaging technologyfrom Symbol Technologies, Inc. (2220 Boston Street Baltimore, Md. 21231USA) the CFSC 5E scans all popular linear bar code symbologies and usesapproximately 57 mA of power during scanning to maximize battery life.SocketScan keyboard emulation software sends decoded data to anyMicrosoft Windows® or Palm® application as virtual keystrokes. TheManufacturer Part# is IS5024-608 and the Dell Part # is A0488823.However, the scanner 402 for mobile devices shown in FIG. 4 is providedas an example only and other suitable scanning devices may be usedincluding those integrated within a mobile computing device 407 andthose using other scanning technologies such as RFID or image capturetechnologies.

Referring next to FIG. 5, shown is a diagram illustrating an examplesystem according to price searching on a mobile device. Shown is theexample mobile scanner 4 shown in FIG. 4 scanning the tag 501 of agarment 503, for example. The mobile scanner 405 may be in operablewireless communication with any variety of networks such as the cellularphone network 505 using cellular towers 507 for communication, and/ordirectly to the internet through Wi-Fi networks 506 and internetrouter(s) 511. The cellular network 505 may then also interface withother communication networks such as Wi-Fi or land lines 510 to directthe information to the intended destination. Wi-Fi is a wirelesstechnology brand owned by the Wi-Fi Alliance intended to improve theinteroperability of wireless local area network products based on theIEEE 802.11 standards. Common applications for Wi-Fi include Internetand VoIP phone access, gaming, and network connectivity for consumerelectronics such as televisions, DVD players, and digital cameras. Theprice and product identification information scanned form the tag 501may then be communicated over one or more such communication networks toa price search/comparison engine 513 in communication with the Internet509 or other networks on which product pricing data may be available.

The product price search/comparison engine 513 then searches 307 forsame or similar items for sale on the Internet or other network in anautomated fashion using the data transmitted from the mobile device.Also using data transmitted from the mobile device, the product pricesearch/comparison engine 513 may also automatically search prices atphysical stores posted or published electronically to the Internet orother network using the. The search results and purchasing options aretransmitted 309 back to the user's wireless device through the Wi-Fiand/or cellular, and/or other network providing electroniccommunication.

Referring next to FIG. 6, shown is a block diagram illustrating anexample price search/comparison engine according to the pricesearch/comparison engine of FIG. 5. Shown are the search requestreception module 601, the search session generator 603, the pricecomparison engine 605, the product selector 607, and the dataaggregation engine 609. A price search request may be received by thesearch request reception module 601 from a mobile device 405, forexample. The search request reception module may verify the request ashaving the needed data to perform the search (e.g., price and productidentification data), and perhaps reformat the data into a form that maybe useful to the price comparison engine 605. For example, if theproduct identification is a model number, the search request receptionmodule may put the model number in a standard format for understood bythe price comparison engine. If the required data is present, the datais passed on to the search session generator 603. The search sessiongenerator 603 sets up a search session between the mobile device 405 andthe price/search comparison engine 513. This session may be identifiedby a session number, for example, and may include the network address ofthe mobile device 405 such that the search results may be communicatedto the mobile device 405 when the search results are ready. Otherproperties of the session may include, but are not limited to: searchtimeout settings, product type settings, settings for geographic searchboundaries, product selection criteria, and current location of themobile device, for example.

The data aggregation engine 609 is responsible for aggregating price andproduct information from various sources, may they be interne sites,servers, store inventory databases, etc. Login and/or otherauthentication credentials, if need be, may be communicated to the dataaggregation engine from the mobile device 405, through authorizedretailers over the Internet 611, or may be already stored in the dataaggregation engine. The data aggregation engine 609 may then use theselogin and/or authentication credential to access otherwise restrictedsites and databases containing price and product information.

The data aggregation engine 609 is in operable communication with theprice comparison engine 605 and product selector 607. The priceinformation for the same or similar product identified in the searchrequest is communicated from the data aggregation engine 609 to theprice comparison engine 605 and also perhaps to the product selector607. The price comparison engine 605 determines whether the price isabove, below or falls within pre-set range compared to the price of thescanned product 503. The pre-set range may include, for example, apercentage difference (either above, below, or both) from the price ofthe scanned product 503. The product selector is responsible forselecting a product or number of products communicated from the dataaggregation engine 513 that are to be communicated to the mobile device405 and presented the user. The product selector selects products basedupon the price data received from the price comparison engine andcertain product selection criteria. The source of the product selectioncriteria may be from the mobile device 405 or a web server, for example,according to custom settings provided by the user. The product selectioncriteria may include, for example, to only provide products that arebelow a certain percent in price difference from the product scanned, orto provide products with prices that are within a range below or abovethe price of the product scanned, or to only provide products that areany amount in price below the product scanned. Also, product location,source and availability may also be provided along with the price of theavailable product from the product selector 607 back to the searchsession generator 603. The search session generator then communicatesthe products, price and other associated product information back to themobile device 405 through the Internet 611 and/or over othercommunications networks (such as the cellular network).

Referring next to FIG. 7, shown is a diagram illustrating an alternativeembodiment of an example system according to price searching on a mobiledevice. The system shown in FIG. 7 is similar to that of FIG. 5, exceptthat the product price search/comparison engine 513 of FIG. 5 is notshown. In the system of FIG. 7, all or part of the pricesearch/comparison engine 513 is located within the mobile device 405.Thus, all or part of the searching and comparison functions areperformed on the mobile device 405 itself. In the case where all of thesearching and comparison functions are performed within the mobiledevice, the only communication with outside networks required during theprice searching and comparison may be to pull the price data from one ormore external databases 701 of online prices and/or physical storeprices.

Referring next to FIG. 8, shown is a flow chart illustrating an exampleprocess according to customer self-checkout using a mobile device. Oncea user decides to purchase an item in a retail establishment, the usermay scan (or capture an image of) 301 an item's price tag while locatedanywhere in store using their mobile wireless device. The price andpossibly other identifying information (including product identifyinginformation and merchant identifying information, for example) isretrieved from the scanned or captured information. If the productidentifying information and merchant identifying information are notavailable on the price tag, then all or part of this information may beinput directly by the user into their mobile device, or wirelesslytransmitted to the user's wireless device when within a certainproximity to the product or vicinity of the store. For example, when theuser walks into the store, there may be a wireless signal sent to theirmobile device identifying the merchant code of the store.

The price, merchant identifying information and authenticationinformation of the user and the user's credit card is transmitted 800wirelessly to a credit card company or payment clearinghouse. Forexample, the authentication information may include but is not limitedto: credit card number, name on credit card, expiration date, cardverification value (CVV) or other code on the credit card, user name,password, answer to security question, electronic signature, encryptionkey, etc. Some or all of this information may be transmittedautomatically without the user having to enter it in at the time ofpurchase. The user may repeat this process for any number of items andthen press a button 801 or otherwise indicate on their mobile devicewhen they are ready to check out. At this point, the price and productidentification information and merchant code of items scanned since theuser entered the store have been stored on the wireless device and/or atthe credit card company or other payment clearinghouse. Once the userpushes the button 801 on their mobile device or otherwise indicates thatthe user wants to check out, a signal is sent to the credit card companyor other payment clearinghouse and the user's credit card is charged 803according to the price information and merchant code stored for thescanned products.

After payment has been made the user may then walk out of the store withthe products purchased. However, it may be desirable for the retailestablishment to verify that the products the user is leaving with arethe same products purchased (if any). Therefore, the user may thenproceed 805 to a “security kiosk” near the exit of the store that may beattended by a store personnel and/or equipped with electronic equipmentto verify the purchases made. For example, at the security kiosk theuser may user may swipe 807 his or her credit card (or provide his orher credit card number wirelessly via their mobile device). The storemay then electronically verify 809 payment has been made with the creditcard company or other payment clearinghouse. This is accomplished by thestore receiving the information identifying the total charge and perhapsalso information identifying the products purchased along with thestore's unique merchant code and possibly whether the same transactionhas already been verified previously. A receipt may then be printed 813at the kiosk for the user (although this may be optional if the userdoes not want a receipt or the store's security policy does not requireone for the user to leave the store with products in their possession).This is due to that, as described above, a digital signature may be sentfrom the user's mobile device to the credit card company or paymentclearinghouse at the point when the user indicates on his or her mobiledevice that the he or she wants to proceed to check out. Also, the storemay then optionally check 811 items in user's possession. This may beaccomplished, for example, by having the user weigh them at a scalelocated at the security kiosk (as is used in current self-checkoutstations), which does not require store personnel, and/or visualinspection by a human against a printed receipt, which would requirestore personnel.

Referring next to FIG. 9, shown is a flow chart illustrating an exampleprocess according to price searching and customer self-checkout using amobile device. The price searching and self-checkout aspects describedabove may be combined into one process for a very convenient shoppingexperience. For example, as shown in FIG. 9, each time a user scans(blocks 301, 303) an item in the store with their mobile device, therecould also be a price search completed (blocks 305, 307, 309, 311) tosee if the item is available at a less expensive price somewhere elsebefore the items are added to a list stored within the mobile device ofitems to be purchased. The user may decide to have items that are notfound elsewhere for a less expensive price automatically added 817, 303to list stored within the mobile device of items to be purchased.Optionally, the user may wish to manually verify 815 on their mobiledevice all items before they are added to a list stored within themobile device of items to be purchased. Once the user presses 801 thebutton on their mobile device to indicate when ready to check out, theprocess continues as described above (blocks 803, 805, 807, 809, 811,813).

Referring next to FIG. 10, shown is a diagram illustrating an examplesystem according to price searching and customer self-checkout using amobile device. The system of FIG. 10, is similar to that of FIG. 5,except that FIG. 10 shows additional components as an example that maybe present to implement the self-checkout processes described above withreference to FIGS. 8 and 9. This includes a retail establishment 903 andcredit card company or clearinghouse 901, both in operable communicationto the user's mobile device 405 via the Internet or other datacommunications networks 509 through various land lines 510 and/orwireless and cellular networks 505 506. In this way, the appropriatecommunication channels are present such that a user located within aretail establishment 903 may communicate with their mobile device 405 tothe credit card company or payment clearinghouse 901 to send and receivethe necessary information to complete the transactions and processesdescribed above and in FIGS. 8 and 9.

Voice recognition technology may be used instead of or in addition tothe user to pushing a button on the mobile device to activate atransaction or process as described above. Also, biometricauthentication may be used during any authentication process ortechnology described above. When referencing “credit card” above, thisterm also includes debit cards, cash cards, gift cards and other typesof card used for authentication, account identification and/or topurchase or acquire items.

When referring networks in the above description, this term includessatellite networks among other communication networks. Also,applications performing various tasks can be downloaded to the mobiledevice as well as the mobile device running as a “thin” client. Whenreferencing computing environments above, this also includes computingdevices integrated into computing systems of buses, RVs, trains,motorcycles and other automobiles. The price comparison process includessearching prices at physical stores and the Internet as well as“auction” Internet sites such as eBay. Also, a feature on the mobiledevice to enter a “preferred” product description (color, size, style,etc.) to help narrow down the product search when product information isnot available on the price “tag” may also be included. A user may alsoplace a product on “hold” for a period of time using their mobile deviceso the user can go to the store to physically inspect the product beforefinalizing the purchase. A product “tag” as referenced above also may bea chip contained in or on the product.

In addition to or as an alternative to the process described above ofweighing of the merchandise to ensure that the products purchased arethose leaving the store, the capability of automatically scanning theproduct security tags (including RFID tags and the like, for example) asthe products leave the store may also be present. When confirmation isreceived regarding the purchase, the mobile device may be used todeactivate the product security tags. As the products leave the store,the product security tags should match what was purchased. If aproduct's security tag is not matched, store personnel can be notifiedand/or the product can be automatically charged to the buyer's credit ordebit card. The user's mobile device could access (via wireless) thestore's application (which can be integrated with the product securitytags) to deactivate the product security tag once the transaction(credit or debit card charged) has completed.

As an alternative to the user swiping their card at the security kiosk,the use of smart chips within the card and associated proximity scanningreaders may be utilized and/or the mobile device may be used to scan thecredit/debit card information. Also, an image of the receipt may becommunicated and/or displayed on the mobile device as an option toprinting the receipt.

It is noted that the foregoing examples have been provided merely forthe purpose of explanation and are in no way to be construed as limitingof the present invention. While the invention has been described withreference to various embodiments, it is understood that the words whichhave been used herein are words of description and illustration, ratherthan words of limitations. Further, although the invention has beendescribed herein with reference to particular means, materials andembodiments, the invention is not intended to be limited to theparticulars disclosed herein; rather, the invention extends to allfunctionally equivalent structures, methods and uses, such as are withinthe scope of the appended claims. Those skilled in the art, having thebenefit of the teachings of this specification, may effect numerousmodifications thereto and changes may be made without departing from thescope and spirit of the invention in its aspects.

The invention claimed is:
 1. A non-transitory computer-readable mediumhaving computer-executable instructions stored thereon that are executedby a processor to: read product identification information from aproduct in a store with a mobile device, wherein the productidentification information includes at least a price of the product inthe store; compare a price of a product that is the same as the productin the store with the price of the product in the store; receive aselection, at the mobile device, to purchase the product in the store;verify that the product the customer is leaving the particular storewith is the same product for which the customer has been charged; andreceive a purchase confirmation with the mobile device, wherein thepurchase confirmation serves as a receipt for the product in the store.2. The non-transitory computer-readable medium of claim 1, furthercomprising computer-executable instructions executed to receive awireless signal from the store that includes store identificationinformation.
 3. The non-transitory computer-readable medium of claim 1,further comprising computer-executable instructions executed to receivea selection to purchase at least one of the product in the store and aproduct that is the same as the product in the store.
 4. Thenon-transitory computer-readable medium of claim 1, wherein theinstructions executed to receive a purchase confirmation includeinstructions to receive an image of a receipt and display the image ofthe receipt on the mobile device.
 5. The non-transitorycomputer-readable medium of claim 1, further comprisingcomputer-executable instructions executed to display a product that isthe same as the product in the store and is within a predetermined pricerange of the product in the store.
 6. The non-transitorycomputer-readable medium of claim 1, wherein the instructions executedto receive a selection to purchase at least one of the product in thestore and the product that is the same as the product in the storeinclude instructions to purchase a plurality of products.
 7. Thenon-transitory computer-readable medium of claim 1, wherein theinstructions executed to compare the price of the product that is thesame as the product in the store include instructions to perform pricesearching on auction sites for the product that is the same as theproduct in the store.
 8. The non-transitory computer-readable medium ofclaim 1, wherein the instructions executed to compare the price of theproduct that is the same as the product in the store includeinstructions to perform price searching in physical stores and on theInternet for the product that is the same as the product in the store.9. A non-transitory computer-readable medium having computer-executableinstructions stored thereon that are executed by a processor to: scan,with a bar code reader in communication with a mobile device, productidentification information from packaging of a product in a store; sendthe product identification information, a customer's credit card number,and store identifying information to a payment clearinghouse via themobile device to purchase the product in the store, wherein the customeris charged for the product in the store according to the productidentification information, the customer's credit card number, and thestore identifying information; cause the mobile device to wirelesslycommunicate with a security kiosk located in the store to verify thatthe customer has been charged for the product in the store; receive animage of a receipt as confirmation of the customer being charged for theproduct in the store; and display the image of the receipt on the mobiledevice.
 10. The non-transitory computer-readable medium of claim 9,wherein the mobile device wirelessly communicates the customer's creditcard number to the security kiosk.
 11. The non-transitorycomputer-readable medium of claim 9, further comprising computerexecutable instructions executed to cause the mobile device towirelessly receive the store identifying information from the store. 12.The non-transitory computer-readable medium of claim 9, wherein theinstructions executed to cause the mobile device to wirelessly receivethe store identifying information from the store include instructions toreceive the store identifying information when the customer is in alocation proximate to the store.
 13. A system, comprising: a processor;a memory storing computer-readable instructions for allowingself-checkout within a store, the computer-readable instructionsexecutable by the processor to: scan, with a bar code reader incommunication with a mobile device, product identification informationfrom packaging of a product in a store; receive a customer's credit cardnumber, product identifying information, and store identifyinginformation via the mobile device to purchase the product in the store,wherein at least the product identifying information is read by themobile device; charge the customer's credit card number for thea productaccording to the product identifying information and store identifyinginformation; verify that a product the customer is leaving the storewith is the same product for which the customer has been charged; andsend a purchase confirmation wirelessly to the mobile device.
 14. Thesystem of claim 13, further comprising computer-readable instructionsexecutable to print a receipt for the customer upon verification thatthe product the customer is leaving the store with is the same productfor which the customer has been charged.
 15. The system of claim 13,further comprising at least one subsystem that verifies that a weight ofthe product the customer is leaving the store with is the same weight asthe product for which the customer has been charged.
 16. The system ofclaim 13, further comprising: computer-readable instructions executableto receive the customer's credit card number at a security kioskwirelessly from the mobile device; and computer-readable instructionsexecutable to verify that a payment has been made with the credit cardto the store.
 17. The system of claim 13, further comprisingcomputer-readable instructions executable to use the customer's creditcard number to check for individual products bought by the customer fromthe particular store.
 18. The system of claim 13, wherein thecomputer-readable instructions executable to receive the productidentifying information include computer-readable instructionsexecutable to receive a price of the product.